/**
 * MailCliente representa la parte del sistema que interactua
 * con el usuario. Es responsable de toda interaccion con el ususario.
 */
package client;

import mensaje.Message;
import java.util.LinkedList;
import server.MailServer;
/**
 *
 * @author foUMaster
 * @version 1.0.0
 */
public class MailClient {
    private String usuario;
    private ServerClient serverClient;
    
    
/**
 * Constructor de la clase
 */    
    public MailClient(String usuario, MailServer mailServer) {
        this.usuario = usuario;
        serverClient=new ServerClient(mailServer, this);
        
    }    

/**
 * Método que consulta al servidor a fin de ver si el usuario tiene algun
 * mensaje.
 * @return int Un entero que es el resultado de la cantidad de mensajes que 
 * tiene el usuario.
 */
    public int chekMessages() {//redundancia
        return serverClient.nemeroMensajes(usuario);
    }
 
 /**
  * Método que obtiene el siguiente mensaje del servidor y lo almacena en sus mensajes recibidos.
  * @return Message Un objeto message con el mensaje del usuario.
 */
    public Message readMessage() {   
        return serverClient.nexMessage(usuario);
    }

/**
 * Método que obtiene toda la informacion necesaria del usuario, crea un
 * de tipo message y lo envía al servidor.
*/
    public void sendMessage(String sender, String destinatario, String asunto, String mensaje) {        
        serverClient.sendMessage(sender, destinatario, asunto, mensaje);
    }
    
    
}
